<?php

namespace common\models\mongo;

/**
 * mongo 模型
 * 只用于评论  回复 点赞 @消息存储记录
 * @package common\models\mongo
 */
class DynamicMess extends BaseMongo {

    use \common\traits\TimestampBehavior;

    /**
     * MESS_TYPE_LIKE 点赞
     * MESS_TYPE_AT @
     * MESS_TYPE_reply 回复
     * MESS_TYPE_comment 评论
     * MESS_TYPE_send 转发
     */
    const MESS_TYPE_LIKE = 'like';
    const MESS_TYPE_AT = 'at';
    const MESS_TYPE_REPLY = 'reply';
    const MESS_TYPE_COMMENT = 'comment';
    const MESS_TYPE_SEND = 'send';

    protected $timeStamp = 'cud';
    protected $softDel = true;

    public function rules() {
        return [
//            [['active_user_id', 'passive_user_id', 'mess_type'], 'required'],
            [['passive_user_id', 'mess_type'], 'required'],
            [['created_at', 'updated_at', 'deleted_at'], 'integer'],
            ['mess_type', 'in', 'range' => [self::MESS_TYPE_AT, self::MESS_TYPE_COMMENT, self::MESS_TYPE_LIKE, self::MESS_TYPE_REPLY, self::MESS_TYPE_SEND]],
//            [['active_data', 'passive_data','content'], 'safe'],
            [['dynamic', 'content', 'user_info'], 'safe'],
        ];
    }

//    public function getActiveData() {
//        if ($this->active_data) {
//            $arr = json_decode($this->active_data, true);
//            if ($arr) {
//                return $arr;
//            } else {
//                return null;
//            }
//        }
//        return $this->active_data;
//    }
//
//    public function getPassiveData() {
//        if ($this->passive_data) {
//            $arr = json_decode($this->passive_data, true);
//            if ($arr) {
//                return $arr;
//            } else {
//                return null;
//            }
//        }
//        return $this->passive_data;
//    }

    public function attributesInit() {
        return [
//            'active_user_id',
//            'passive_user_id',
//            'mess_type',
//            'active_data',
//            'passive_data',
//            'content',
            'passive_user_id',
            'mess_type',
            'dynamic',
            'content',
            'user_info'
        ];
    }

}
